import { Segment } from './Segment';

export interface TrackBase {
  type: 'video' | 'audio' | 'text' | 'sticker';
  segments: Segment[];
}

export class VideoTrack implements TrackBase {
  type = 'video' as const;
  segments: Segment[] = [];
}

export class AudioTrack implements TrackBase {
  type = 'audio' as const;
  segments: Segment[] = [];
}

export class TextTrack implements TrackBase {
  type = 'text' as const;
  segments: Segment[] = [];
}

export class StickerTrack implements TrackBase {
  type = 'sticker' as const;
  segments: Segment[] = [];
}
